package com.searchengine.repository;

import com.searchengine.entity.KeywordWeight;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * 关键词权重数据访问接口
 */
@Repository
public interface KeywordWeightRepository extends JpaRepository<KeywordWeight, Long> {

    /**
     * 查询用户的所有关键词权重
     * @param userId 用户ID
     * @return 关键词权重列表
     */
    List<KeywordWeight> findByUserId(Long userId);

    /**
     * 根据关键词查询当前有效的权重
     * @param keyword 关键词
     * @param currentTime 当前时间
     * @return 关键词权重列表
     */
    List<KeywordWeight> findByKeywordAndStartTimeLessThanEqualAndEndTimeGreaterThanEqual(String keyword, Date currentTime, Date currentTime2);

    /**
     * 查询用户的某个关键词权重
     * @param userId 用户ID
     * @param keyword 关键词
     * @return 关键词权重对象
     */
    List<KeywordWeight> findByUserIdAndKeyword(Long userId, String keyword);

    /**
     * 根据关键词查询权重信息
     * @param keyword 关键词
     * @return 关键词权重列表
     */
    List<KeywordWeight> findByKeyword(String keyword);
}